﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BuzzwordBingo.Interface
{
    /// <summary>
    /// Definition of peristence service for bingo events and buzzword categories
    /// </summary>
    public interface IPersistenceService
    {
        /// <summary>
        /// Load a bingo event
        /// </summary>
        /// <param name="EventId">persistence id</param>
        /// <returns>bingo event</returns>
        IBingoEvent LoadEvent(int EventId);

        /// <summary>
        /// Save a bingo event
        /// </summary>
        /// <param name="Event">bingo event</param>
        void SaveEvent(IBingoEvent Event);

        /// <summary>
        /// Load buzzword categories list
        /// </summary>
        /// <returns>category list</returns>
        IList<IBuzzwordCategory> LoadBuzzwordCategoryList();

        /// <summary>
        /// Load a buzzword category
        /// </summary>
        /// <param name="BuzzwordCategoryId">persistence id</param>
        /// <returns>category list</returns>
        IBuzzwordCategory LoadBuzzwordCategory(int BuzzwordCategoryId);
    }
}
